package com.rainyun.rc.ioc;

import java.lang.annotation.*;

/**该注解用于RainIOC的对象管理和注入 <br>
 * 加在类上可以被识别并自动实例化<br>
 * 加在字段上可以实现自动注入<br>
 * 具体过程: <br>
 * RainIOC.load(类列表) 时会自动实例化并存入相关类(已实例化并存入的不会重复实例化)<br>
 * 各成员字段会自动注入对应的对象<br>
 * (注意: 注入只适合在该注解标记的类的字段或任何静态字段)<br>
 * (对象名理论上可以是类,字符串 甚至枚举(使用BeanAnno)) <br>
 * 规范: <br>
 * 1.标记的类需要支持一个无参构造函数<br>
 * @see BeanAnno
 * */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.FIELD})
public @interface Beanzy {
    /**绑定对象名 (为空时则视为使用对应类作为对象名)*/
    public String value() default "";
}
